O Imagemagick parece ser muito violento com o uso da memória. Uma sugestão é usar -limit para limitar o tamanho da memória que o convert irá usar, ele deve usar um cache de disco para qualquer outra coisa que ele precise. Leia uma explicação aqui:
link
Veja como usar a opção -limit: link
Se não, você pode fazer como descreve, convertendo cada imagem individualmente e, em seguida, mesclando-as com alguma outra ferramenta. Algo como
for name in p*.png; do convert $name 'basename $name .png'.pdf; done
deve fazer isso.
Basicamente ele itera sobre todos os arquivos png, roda convertidos neles, a única mágica é a basename $name .png
part, que será substituída pelo nome do arquivo menos a parte .png, de modo que ao anexar a extensão .pdf a ela, o nome do arquivo faz sentido.
Tente você mesmo para ter uma idéia do que o basename faz:
basename something.png .png
echo 'basename something.png .png'.pdf