В ответе Джайлза должен быть добавлен флаг -l при выполнении bash, так что любые скрипты профиля входа будут прописаны в новой оболочке bash. (Например, все, что находится в /etc/profile.d/ на RHEL). Сценарий должен выглядеть так:
case $- in
*i*)
# Interactive session. Try switching to bash.
if [ -z "$BASH" ]; then # do nothing if running under bash already
bash=$(command -v bash)
if [ -x "$bash" ]; then
export SHELL="$bash"
exec "$bash" -l
fi
fi
esac
También puede redirigir su texto desde la conexión netcat a un archivo y luego ejecutarlo como un comando, usandosource
Ejemplo:
nc -l 8765 > command
source command