In older systems a command interpreter was built-in to the system as a module of the kernel. Multics introduced (and Unix popularized) the idea of command interpreters that are separate from the kernel and invoked like utility programs.
Treating a command interpreter as a utility program
gives a user the flexibility to replace an existing command interpreter with another
program.
This feature has encouraged the evolution of command interpreters in Unix.
(Bourne shell, C shell, etc)