The word *wĺ̥kʷos is a thematic accented zero-grade noun perhaps derived from the adjective *wl̥kʷós ‘dangerous’ (compare Hittite walkuwa ‘dangerous’, Old Irish olc ‘evil’, Sanskrit [script?] (avṛká) ‘safe’, literally, ‘not wild’, वृकतात् (vṛká-tāt) ‘savagery’).1 Stress shift onto the zero-grade is consistent with nominalized adjectives: compare Sanskrit कृष्ण (kṛ́ṣṇa) ‘black antelope’ from कृष्ण (kṛṣṇá) ‘black’. Alternatively, the word may be a derivative of the verbal root *welh₂- ‘to tear up’.2 In either case, the word's formation closely resembles that of *h₂ŕ̥tḱos (“bear”), another thematic accented zero-grade noun whose referent is an animal subject to cultural taboos.3
The Latin and Greek reflexes are unexpected (vs. expected Lat **volquus, Gk **álpos; l̥ → Lat ol, Gk al). The Latin reflex may be variously a borrowing from Sabine (where PIE */kʷ/ regularly gave /p/), influenced by volpēs ‘fox’, or a taboo deformation meant to offset the fear usually associated with the animal, or any combination of the three. A deformation would explain the metathesis of */w/ and */l/, which also occurred in Greek (*wĺ̥kʷos → *lúkʷos → *lýkos), but does not explain the presence of delabialized /k/ which is regular in Greek only before /u/. In both cases, the expected forms are so close to the word for ‘fox’ (compare Lat volpēs, Gk alōpós, alṓpēx) that avoiding conflation of the two words ‘wolf’ and ‘fox’ may have motivated either alteration or borrowing.
The Germanic reflex, with /f/ ← */p/ ← */kʷ/, underwent an unusual sound change, but the velar was retained in at least one form, e.g., Old Norse ylgr ‘she-wolf’ (vs. Old English wylf, Middle High German wülpe ← *wulbī) ← *wulgʷī́ ← *wl̥kʷíh₂, which indicates neither taboo deformation nor derivation from some other root took place.
Armenian and Celtic have replaced the word with Proto-Indo-European *wai-lo (“howler”) due to taboo; compare Old Armenian գայլ (gayl), Old Irish fáel.4
Here is another similar derivation:
From Middle English, from Old English endleofan; from Proto-Germanic *ainalif (“one left”), a compound of *ainaz and *lif-. Compare West Frisian alve, Dutch elf, German elf, Danish elleve.
c.1200, elleovene, from Old English endleofan, literally "one left" (over ten), from Proto-Germanic *ainlif- (cf. Old Saxon elleban, Old Frisian andlova, Dutch elf, Old High German einlif, German elf, Old Norse ellifu, Gothic ainlif), a compound of *ain "one" (see one) + PIE *leikw- "leave, remain" (cf. Greek leipein "to leave behind;" see relinquish).
Old English twelf, literally "two left" (over ten), from Proto-Germanic *twa-lif-, a compound of the root of two + *lif-, root of the verb leave (see eleven). Cf. Old Saxon twelif, Old Norse tolf, Old Frisian twelef, Middle Dutch twalef, Dutch twaalf, Old High German zwelif, German zwölf, Gothic twalif. Outside Germanic, an analogous formation is Lithuanian dvylika, with second element -lika "left over."
I searched and found a hypothesis about these changes as following: Wolves, wolps, and lupes
"*kʷ > *p /R_. Where R = i,l (and likely then also u,r)."
"So I'm presuming the similar environment in question would be in cases like *-Rkʷ- (*R = {any resonant})? Then I suppose, PIE *pénkʷe > Germanic *fimf would fit that pattern as well."
Is the sound change PIE *kʷ to PGmc. *f or PIE *kʷ to PIE *p regular though it's uncommon? And does any other example exist?
PS: Here is a book about the similar sound change in Modern English.