*shell* is a dumb terminal, so you're not going to get very far. I second Trey Jackson's recommendation of M-x term
. At that point, you're still likely to have problems: the term info for the eterm-color is not typically installed. As a temporary fix you can try
mkdir ~/.terminfo/65;
cp /Applications/MacPorts/Emacs.app/Contents/Resources/etc/e/eterm-color ~/.terminfo/65/
to get the copy that emacs.app brought along (assuming you have emacs.app installed through MacPorts - adjust the path as needed). If all goes well, then you can consider setting things up in the global term info 'database'.
Also: If you're running the shell in emacs and you set the editor to emacs, you'll end up trying to load emacs inside the shell inside emacs. That's bound to be a headache. Take a look at emacs server and/or daemon mode.