По следам недавнего поста на хабре, я погуглил, откуда же берется это ограничение на количество аргументов для rm.
Нашел вот такой пост:
Actually this is not a limitation of the rm command, but a kernel limitation on the size of the parameters of the command. Since I was performing shell globbing (selecting all the files with extension .wrk), this meant that the size of the command line arguments became bigger with the number of the files involved. For who cares this is defined by:
egrep ARG_MAX /usr/include/linux/limits.h
#define ARG_MAX 131072 /* # bytes of args + environ for exec() */
У меня вопрос, почему, в таком случае, без ошибки отрабатывают команды:
find . -type f -exec rm -v {} \+
find . -type f -print0 | xargs -0 rm