If you have a string variable you want to search within for another string using grep, echo the string to stdout first, then use grep as you would from the command line with pipes.
var = match
cat list.txt | while read word_from_list
do
echo "$word_from_list" | grep "$var" >> words_found.txt
done
or to take an action on a match
if [ -n "$(echo "$word_from_list" | grep "$var")" ]
then
echo "$var" >> vars_found.txt
fi
Don't forget to carefully quote the variable you send to stdout. Forgetting the quotes will eliminate any line breaks in the string (false positives). Using single quotes will prevent the variable from being replaced with its value.