You're losing output because the quoting is wrong.
ssh [email protected] bash -l -c 'echo 111'
What you have here is a call to bash with a requirement to execute echo. The remaining argument 111 is offered to bash but unused. (The result is a blank line.)
What you probably want is one of the following alternatives.
ssh [email protected] 'echo 111' # Shell executing echo
ssh -t [email protected] 'echo 111' # LoginInteractive shell (with `.bashrc`) executing echo
ssh [email protected] 'bash -l -c "echo 111"' # Shell calling login shell (`.bash_profile`) to execute echo