Немного модифицируя версию steeldriver, я смог автоматизировать мое использование vncpasswd. Позволяет передавать и пароль и имя файла для vncpasswd для создания.
Использование: $ ./scriptname <filename> <password>
#!/bin/sh
myuser="$1"
mypass="$2"
/usr/bin/expect <<EOF
spawn /usr/bin/vncpasswd $myuser
expect "Password:"
send "$mypass\r"
expect "Verify:"
send "$mypass\r"
expect eof
exit
EOF