When you start a shell, several scripts get run before you gain control. One of those sets aliases and environment variables instructing ls how to color things.
The easiest way? (1) Don't start a new sh session. Instead close the tch session and the original shell will be waiting for you. "exit" or ctrl+d will end a session.
Method (2) don't run sh. Run bash instead. Almost every system today runs bash instead of sh. In fact, sh is usually an alias for bash (in an sh compatibility mode). There are things bash runs (and sets up) that sh (or bash being run as sh) doesn't.
(sh is the Bourne Shell; bash is the Bourne Again Shell. Tacky acronym, but memorable
(3) Run the login script directly to restore the missing environment elements. On my Debian system, this seems to take place in ~/.bashrc . I suggest:
Other files that might be involved include /etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile, and /etc/bash.bashrc
This all depends on which distribution you're running, and how the maintainers choose to set these up.