Eu testei isso, e o erro é devido ao segundo \; :
# Works fine
find * -maxdepth 0 -type d -exec tar czvf {}.tar.gz {} \;
# Errors out
find * -maxdepth 0 -type d -exec tar czvf {}.tar.gz {} \; \;
Isso pode ocorrer porque o primeiro% escape; encerra o comando para a opção -exec e o segundo% escape; agora se torna parte do comando find e é tratado como um caminho. Isso gera um erro, pois a expressão -type já foi lida.