Did you get any error?
too many argument limits are there for everything.. ( ls, rm, etc )
I am not sure what is the exact limit for it and on what it is based on ( os? shell? )
but you can always get rid of that with using exec and xargs
how do you populates these file-names? with find probably ?
if yes, then something better is there i think..
find [ your action ] ...... -exec tar -rf mytar.tar {} \;
or
find [ your action ] ...... | xargs tar -rf mytar.tar