A situação. Estou depurando o ambiente de um usuário restrito que está relacionado a um shell especial. Para fazer isso, preciso executar um comando como esse usuário em seu contexto completo usando su da seguinte maneira:
su - $user -c "echo hello world" --shell /bin/custom_shell
Obviamente, posso alterar o comando e os parâmetros do comando que /bin/custom_shell será executado, mas como adiciono um parâmetro com o qual o custom_shell será executado? Exemplo equivalente à adição de um parâmetro "--debug":
root->su - $user
$user->/bin/custom_shell --debug --command "echo hello world"
Nota: sudo não funcionará para isso, pois há muitas variáveis de perfil e alterações no diretório de trabalho que ocorrem durante o login. Daí a razão pela qual estou usando su. Além disso, esse é um problema estranho e intermitente que preciso ser capaz de criar scripts e executar, caso contrário, su - $user e executar o comando manualmente pode funcionar.