Você pode definir variáveis para o -P "$ password". Leia também sobre a função 'read' no bash.
$ dscl -u diradmin -P 'senha' /LDAPv3/127.0.0.1 passwd / Users / username newpassword
Este é um script não testado, mas você pode descobrir.
#!/bin/bash
read -p "For which user to change the password? " username
read -s "Enter the old password for $username " oldpassword
read -s "Enter the new password for $username " newpassword
dscl -u diradmin -P "$oldpassword" /LDAPv3/127.0.0.1 passwd /Users/"$username" "$newpassword"