Primeiro, você absolutamente não quer enviar uma senha com expectativa. Além de ser um estilo muito ruim, isso prejudica totalmente a segurança do seu sistema, pois você precisa armazenar uma senha de usuário em texto não criptografado. E todos neste dia e idade sabem de cor que você nunca deve armazenar senhas em texto puro, nunca.
Eu recomendaria a leitura na página de manual para sudoers
. Então você pode usar o sudo de dentro do script sem ter que armazenar as senhas claramente. Uma solução mais sólida provavelmente seria um executável com o suid root. Os scripts do shell não podem ter suid por motivos de segurança, portanto, isso exigiria a compilação de um pequeno programa.
Por outro lado, se você tiver certeza de que precisa de vários processos sendo executados em comunicação paralela entre si, a versão 4 do bash oferece uma solução na forma da palavra-chave coproc
. Basicamente, você coloca coproc
na frente de uma linha de comando. Para comandos simples, ele tem aproximadamente o mesmo efeito que um &
no final da linha de comando; o processo será executado em paralelo com o seu script. A diferença é que com coproc
você tem os descritores de arquivo stdout
e stdin
do outro processo disponível na matriz COPROC
, para que seu script possa se comunicar com o outro processo. Consulte o link
Então, você também pode querer wait
no outro processo antes do script sair.