Como redirecionar dados para um "getpass" como entrada de senha?

Estou torcendo um script python para executar algum comando. Alguns desses comandos exigem que o usuário digite a senha, tentei inserir dados no stdin deles, mas não funciona, aqui estão dois programas simples em python que representam o problema

input.py

import getpass

print raw_input('text1:')
print getpass.getpass('pass1:')
print getpass.getpass('pass2:')

put_data.py

import subprocess
import getpass

def run(cmd, input=None):
    stdin=None
    if input:
        stdin=subprocess.PIPE
    p = subprocess.Popen(cmd, shell=True, stdin=stdin)
    p.communicate(input)
    if p.returncode:
        raise Exception('Failed to run command %r' % cmd)

input ="""text1
password1
password2
"""
run('python test.py', input)

E aqui está a saída

[guest@host01 ~]# python put_data.py 
text1:text1
pass1:

Apenas pára aí no campo pass1. Aqui está o problema, por que não consigo colocar dados no stdin para alimentar dados no campo de senha? Como gravar dados em campos de senha?

questionAnswers(2)

yourAnswerToTheQuestion