Новую сессию shell можно запустить из командной строки также, как любую другую команду. Это делается с помощью команды sh.
Чтобы завершить сессию используется команда exit.
При запуске новой shell-сессии можно перенаправить поток вывода команды на поток ввода stdin новой сессии. При этом, когда перенаправленный поток будет завершён, сессия будет завершена. Например:
echo "ls -l /dev/fd/" | sh
Данная команда запускает новую сессию shell, в которой будет выполнена команда, выводящая на терминал информацию о псевдофайлах символьных ссылок на стандартные потоки ввода-вывода.
При этом можно перенаправить, например, вывод ошибок всех команд, выполняемых в новой сессии, в файл:
echo "ls -l /dev/fd/" | sh 2>errors.log