extraído deste script link
Existe uma ótima linguagem chamada expect que interage com os programas. Aqui está o que você está procurando. Você sempre pode modificar isso para obter nome de usuário e senha de uma fonte externa.
#!/usr/bin/expect
set user "username"
set password "password"
send "useradd -m $user\r"
# Expect prompt
expect "$"
# Set password
send "passwd $user\r"
# Expect password prompt and send pass
expect "ass"
send "$password\r"
# Expect confirm
expect "ass"
send "$password\r"