What definition of "shell" are you basing this on? Some (current) Unix systems I use have default shells that have neither command history nor tab completion.
Easy access to command history and tab completion are certainly niceties that came along at some point, but are in no way part of the definition of a shell.