Old English scufan "push away, thrust, push with violence" (class II strong verb; past tense sceaf, past participle scoven), from Proto-Germanic *skeub-, *skub- (cf. Old Norse skufa, Old Frisian skuva, Dutch schuiven, Old High German scioban, German schieben "to push, thrust," Gothic af-skiuban), from PIE root *skeubh- "to shove" (cf. scuffle, shuffle, shovel; likely cognates outside Germanic include Lithuanian skubti "to make haste," skubinti "to hasten"). Related: Shoved; shoving.
Replaced by push in all but colloquial and nautical usage. Shove off "leave" (1844) is from boating. Shove the queer (1859) was an old expression for "to counterfeit money." Shove it had an earlier sense of "depart" before it became a rude synonym for stick it (by 1941) with implied destination.