Yes, I'm sure it would take a long while
So I did not run the example.
But I think I get your point. I think the point is
that in the case where a huge number of files:
"for i in tst_*" works OK (tst_* not expanded).
"ls tst_*" fails (tst_* expanded, exceeds ARG_MAX).
I previously assumed "for i in tst_*" was expanded. It
seemed the shell could see and expand tst_*. But
apparently expansion does not happen. When I use
"set -x", it displays "for i in 'tst_*'" with the single
quotes preventing expansion.
The other thing I noticed is that my "seq 2621441"
example, while it worked, was overkill and misguided.
ARG_MAX is the length of the argument list, not the
number of args. "seq 2621441" produces way more
than ARG_MAX characters.