Вот ответ на бесполезное использование xargs:
find \( -name "*.log" -or -name "*.txt" \) -exec tar zcf archiv2 {} +
Я не тестировал его для большого количества файлов - был бы рад комментариям и числу, где он терпит неудачу.
Псевдоаргумент, который вам нужно запомнить, чтобы установить -delete как последний: ну да, вы тоже должны помнить, чтобы поставить | xargs ... как последний, не так ли?