-------------------------------
**************************************************
In the above code when I execute the scr.sh file, variable $TMP_DIR and $TMP_DIR_2 are not getting resolved. instead the error it shows file not available:$TMP_DIR/file1.txt .
My objective is to get the content of file1 and file2 inside scr.sh for further processing.
Could someone please help me on this.
As you've noted, you need to quote the string to supply a pathname containing spaces. The same still applies when you're using a variable.
cat "$(eval echo \"$line\")"
Technically, the extra quotes around $line aren't necessary for your example case but if you want to preserve other whitespace then you will need them (without them echo will receive 2 arguments, which it will print with a space separator),