Eu tenho medo de que não haja uma resposta fácil para isso. Primeiro de tudo você tem que encontrar onde program1 está redirecionando sua saída para. Para dar algumas dicas sobre o que procurar, dê uma olhada em this .
quando descobrir, deixe o program1 imprimir na stdout. Desta forma, a saída do programa1 será canalizada para a entrada do programa2.
como você diz "fica chateado com a falta de parâmetros" também pode ser que o programa2 não é capaz de ler todas as informações do stdin. quando você usa a saída do programa1 como parâmetros para o programa2, tente xargs :
program1 | xargs program2