Encontrei uma resposta à minha pergunta no site unix.stackexchange.com.
A idéia é usar umask e executar os comandos entre colchetes para executá-lo em uma subshell, para que umask não afete o restante do script.
( umask 077; openssl rsa -in secure.key -out insecure.key )