I have a bunch of flows and data processing applications that I occasionally need to spy on, meaning I need to know what files they read. This is mostly to aid in packaging
What I use is something like:
strace -o file.txt ./command
You can then
cat file.txt | grep open
to get a list of all the files that the program opened.