https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275967
Unfortunately, there is another problem with double quotes and sub shell character as '`' '$'
$ cp /usr/share/man/man1/cat.1.gz 'c`t.1.gz'
$ /usr/bin/man './c`t.1.gz'
eval: 1: Syntax error: EOF in backquote substitution
eval: 1: Syntax error: Error in command substitution
I think the problem is the usage of eval "string....". I don't know why we are using eval here and if we really need it.
Using eval for untrusted user input does not make a shell script more secure. It is an easy way to shoot yourself in the foot.