Please post what Operating System and version you are running and what Shell you use.
Also, please explain what the script is intended to do and provide sample input and sample expected output data. It is not possible to guess from the code provided whether you are searching the names of files or the content of files (or some combination of both)?
I'm not sure exactly when I've seen such a rubbish piece of code You are passing each element of that convoluted find command as a filename to grep. That's where the error is coming from - there are just too many filenames to pass as arguments.
Here's my take, which might also be a mis-interpretation of your intentions: