The solution of jfgiraud can be slightly modified when you have problem with the mapfile:
To set an array variable from any source that generates one file name per line use:
IFS=$'\n' avar=( $(ls -1) )
or
IFS=$'\n' avar =( $( < listOfFiles.txt) )
etc.
Then use the variable $avar in argument list as "${avar[@]}"
To see the proper argument parsing try:
printf "%s\n" "${avar[@]}"
Particularly, for the given question it would be read as :
IFS=$'\n' files =( $( < listOfFiles.txt) ) ; grep 'regex' -- "${files[@]}"
Note: