1. <operating system> (Originally from Multics, widely propagated via Unix) The command interpreter used to pass commands to an operating system; so called because it is the part of the operating system that interfaces with the outside world.
The commonest Unix shells are the c shell (csh) and the Bourne shell (sh).
2. (Or "wrapper") Any interface program that mediates access to a special resource or server for convenience, efficiency, or security reasons; for this meaning, the usage is usually "a shell around" whatever.