Eu não posso explicar o que exatamente falha no seu exemplo ( então eu admito que é algum tipo de programação voodoo do meu lado ), mas essa é uma correção que (quase - veja abaixo *) funciona no meu bash (Debian):
- livre-se de dentro de
echo
; - escape
$2
.
Resultado:
echo password | su -c "ps aux | grep verySpecificChain | grep -v grep | /usr/bin/awk '{ print \ }' | xargs kill" userName;
* Eu escrevi "quase funciona" porque o Debian não me deixa usar su
em um pipe para ecoar a senha. Eu devo executá-lo sem inicial echo
e digite a senha interativamente. Eu acho que não é um problema no Fedora do OP.