Prepending a fixed string to every line is the canonical one-liner. sed 's|^|site:example.com |' keywords.txt does it, and so does awk '{print "site:example.com " $0}'. Neither is hard to write. Both are easy to get subtly wrong.
The escaping problem
Search operators contain characters that shells and regex engines both care about. A domain in a sed substitution needs its delimiter chosen carefully โ the | above exists because / would collide with a URL. Quote the wrong way and the shell expands something you did not intend before sed ever sees it.
The encoding problem after that
Operator queries usually end up in a URL. intitle:"exact phrase" needs its quotes percent-encoded; a + in a keyword is a space once it hits a query string. A script that builds the query correctly and encodes it incorrectly fails silently, returning plausible but wrong results.
When the browser tool wins
For a list you will paste once and discard, the script is more surface area than the task deserves. Reach for the shell when the step needs to run unattended on a schedule; reach for the browser when you need the output in the next thirty seconds.
Try it: Add Google Search Operator on SeoWolf's Notepad.