Q1: O objetivo de esperar é automatizar programas interativos. Para iniciar o programa e interagir com ele, use o comando spawn
.
Q2: a última espera após o pipe é o esperado binário. Se não for dado um argumento de arquivo, ele lê seu stdin para fazer com que o script seja executado.
Q3: o autor queria um mecanismo para passar automaticamente um valor quando o script solicitar um. É isso.
Eu suspeito strongmente (dependendo do que o myscript.sh faz) que você não precisa esperar:
echo "myval" | myscript.sh arg1 arg2