Old English smoc "garment worn by women, corresponding to the shirt on men," from Proto-Germanic *smukkaz (source also of Old Norse smokkr "a smock," but this is perhaps from Old English; Old High German smoccho "smock," a rare word; North Frisian smok "woman's shift," but this, too, perhaps from English).
Klein's sources, Barnhart and the OED see this as connected to a group of Germanic sm- words having to do with creeping or pressing close, such as Old Norse smjuga "to creep (through an opening), to put on (a garment)," smuga "narrow cleft to creep through; small hole;" Old Swedish smog "a round hole for the head;" Old English smugan, smeogan "to creep," smygel "a burrow." Compare also German schmiegen "to cling to, press close, nestle;" and Schmuck "jewelry, adornments," from schmucken "to adorn," literally "to dress up."
Watkins, however, traces it to a possible Germanic base *(s)muk- "wetness," figuratively "slipperiness," from PIE root*meug- "slimy, slippery" (see mucus). Either way, the original notion, then, seems generally to have been "garment one creeps or slips into," by the same pattern that produced sleeve and slip (n.2).
Now replaced by euphemistic shift (n.2); smock was the common word down to 18c., and was emblematic of womanhood generally, as in verb smock "to render (a man) effeminate or womanish" (1610s); smocker "man who consorts with women" (18c.); smock-face "person having a pale, effeminate face" (c. 1600). A smock-race (1707) was an old country pastime, a foot-race for women and girls with a smock as a prize. Modern meaning "woman's or child's loose dress or blouse" is from 1907; sense of "loose garment worn by artists over other clothes" is from 1938.