English: of uncertain origin. Most probably a habitational name from Shocklach in Cheshire, named in Old English with sceocca ‘goblin’, ‘evil spirit’ + læcc ‘boggy stream’. In the 17th century, the name was most common in Buckinghamshire, England.
Perhaps also an Americanized form of Swiss German Schoechli, a topographic name meaning ‘barn’, from a diminutive of Schoch.
Dictionary of American Family Names, Oxford University Press, Mar 2003