Como isso está usando bash , você pode usar uma substituição de processo:
"$PDFTK" "$1.pdf" update_info <( "$PDFTK" "$1.pdf" dump_data output; cat <<EOF
InfoBegin
InfoKey: Myproperty
InfoValue: Myvalue
EOF
) output "$1-$2.pdf"
Para o utilitário pdftk , o argumento <( ... ) será tratado como um arquivo contendo a saída da primeira chamada pdftk , seguida pelo conteúdo do documento here.
Note também que você deve estar citando suas variáveis (veja " Implicações de segurança de esquecer de citar uma variável em shells bash / POSIX ").