Em vez de usar um loop for, em que você terá problemas se houver espaços em qualquer um dos caminhos de arquivo, poderá usar find para procurar recursivamente em um diretório e executar uma ação em todos os arquivos cujo nome corresponda a um padrão. Se todos os arquivos precisarem ser afetados, apenas deixe de fora a opção -name ou personalize-a para ajustá-la.
find /path/to/directory -type f -name "*.png" -exec mogrify {} +
Para fazer melhor uso das opções do mogrify, você pode usar xargs.
find /path/to/directory -type f -name "*.png" | xargs mogrify -path /path/to/thumbnails