Возможное решение:
Прописать полный путь к файлу, указываемому в параметре.

[ ]
 

Вызывает ошибку:

Key-Type:RSA
Key-Length:4096
Subkey-Type:RSA
Subkey-Length:4096
Expire-Date:0
Passphrase:6666
%pubring foo.pub
%secring foo.sec
%commit
$ gpg --batch --gen-key foo

gpg: Segmentation fault caught ... exiting
Ошибка сегментирования

Не вызывает ошибку:

Key-Type:RSA
Key-Length:4096
Subkey-Type:RSA
Subkey-Length:4096
Expire-Date:0
Passphrase:6666
%pubring foo.pub
%secring foo.sec
%commit
%echo done
$ gpg --batch --gen-key foo
gpg: foo: no User-ID specified
gpg: done

Ошибка:

gpg: foo:8: missing colon

Причина:
Прямая кишка была пропущена у того, кто поленился сделать информативное сообщение об ошибке. А пропущен никакой не colon, а percent sign "%" перед secring/commit/echo/etc.

[ ]