Isso seria significativamente mais fácil usando rsync com sua opção --exclude
.
rsync -av --exclude='*.FOO' --exclude='*.BAR' --exclude='*.ZIM' /source /dest
A opção -v
fornecerá uma saída detalhada na qual os arquivos estão sendo sincronizados.