As suggested by @ilkkachu, you could also add an option to take input from stdin or from an arbitrary file so the user can decide when and when not to read stdin.
Another option is to use xargs which is the tool to convert an input stream into a list of arguments. For instance, with GNU xargs:
xargs -d '\n' -a filelist.txt myscript -x -st -i file1 file2
Would call myscript with file1, file2 and the contents of each line of filelist.txt as arguments. Beware though that if the list is bing, it may be broken down into several invocations of myscript each taking a subset of the lines in filelist.txt, but each of them also getting file1 and file2 each time.