Você tem a instrução alias quando não precisa dela, o que você está realmente criando é uma função, substitua a palavra alias pela função e ela funcionará como esperado.
Você também não precisa realmente de função, você pode ter apenas o seguinte e ele funcionará como esperado;
genpass()
{
gpg --gen-random 1 $1 | perl -ne'
print "Your password: ";
s/[\x00-\x20]/chr(ord($^N)+50)/ge;
s/([\x7E-\xDB])/chr(ord($^N)-93)/ge;
s/([\xDC-\xFF])/chr(ord($^N)-129)/ge;
print $_, "\n"'
}