find ./to_upload -iname "*.jpg" -type f -exec mogrify ‑resize 1024 ‑sample 70 {} \;
Observe o estranho \; no fim - ';' faz parte da sintaxe da opção -exec do find, por isso deve ser prefixado com um '\' para evitar ser interpretado pelo shell. Diz ao find para invocar o subcomando exatamente uma vez para cada arquivo encontrado.
Você também pode fazer isso, se mogrify aceitar vários arquivos por chamada (o find também garante que ele não exceda o número máximo de argumentos permitidos pelo shell):
find ./to_upload -iname "*.jpg" -type f -exec mogrify ‑resize 1024 ‑sample 70 {} +
P.S. Eu só notei o seu comentário "não é o script" - Eu tenho o ImageMagick no cygwin e ele funciona bem usando os formulários que você mostrou. Tente usar traços duplos, talvez?
P.S.S. Ahah eu encontrei o problema! Copiei suas duas linhas e verifiquei os códigos ascii e descobri que o caractere '-' (traço, hífen) na segunda linha não é o caractere ascii padrão, é um caractere unicode, provavelmente porque o script foi copiado de um processador de texto que freqüentemente traduz hífens ou citações em caracteres especiais que parecem mais bonitos, mas não funcionam em nenhuma linguagem de programação (que eu saiba)
P.S.S.S. Então eu descobri que o G-Man já percebeu isso, dó!