Varying number of awk search strings

I've created an awk script that handles a varying number of search strings handed to it as command line parameters ($1 $2 etc). There may be 1, or 2 or 3 or more. A simplified version of the script is:

awk -v TYP="$1 $2 $3 $4 $5 $6" '
  BEGIN {
       CTYP = split (TYP,TYPP," ")
  }
   {for ( i=1; i <= CTYP; i++ ) {
           if ($0 ~ TYPP) {print; break}
      }}
 ' file1 > file2
exit 0

This works, but is not efficient at all.
Could someone suggested an alternate method to handle this scenario? Any help is appreciated.

Thank you.

#!/bin/ksh
set -A arr $@
cnt=0
while [[ cnt -lt ${#arr[*]} ]]
do
      echo ${arr[cnt]} 
      cnt=$$(( cnt + 1))
done > tmp.tmp
grep -f tmp.tmp mybigfile

Thanks Jim, that makes sense using grep, but I should have been more clear, it needs to be awk because there is more to my script, but I removed it to simplify my post here. I use awk here because I extract other info related to the hits from the file as well.