Você tem duas opções, use aspas simples 'passphrase"withquotes'
(mas você não tem mais permissão para colocar aspas simples na senha). Alternativamente, você terá que escapar o caractere de aspas (e outros caracteres com significados especiais): "passphrase\"withquotes"
.
Você explica que está escrevendo algum programa que requer manipulação de senha. Todas as linguagens de programação razoáveis devem ter alguma função ou biblioteca que traga funções prontamente criadas para o bash escaping.
De qualquer forma, você deve nunca passar a frase secreta como parâmetro (você está usando o argumento errado, veja as opções --passphrase...
na página man do GnuPG): todos os outros usuários o sistema pode ler as linhas de comando de todos os processos, incluindo a senha secreta! Em vez disso, use --passphrase-fd 0
e anexe seu aplicativo ao STDIN do GnuPG (como faria com um pipe na linha de comando) e passe a senha como entrada.
Usando o GnuPG 2.1 e superior, você não pode mais usar as opções --passphrase...
sem aborrecimentos. Dê uma olhada em "Por que o GPGME / GnuPG usa o pinentry para entrada de senha?" para discussão futura.