A primeira citação dupla deve funcionar:
$ touch asdfghjkl
$ var=fgh
$ find -name "*$var*"
./asdfghjkl
Dentro de aspas simples ( '*$var*' ), a variável não é expandida e nem é expandida quando o sinal de dólar é escapado entre aspas duplas ( "*\$var*" ). Se você escapa duas vezes o sinal de cifrão ( "*\$var*" ), a variável é expandida, mas find também recebe uma barra invertida literal. (Mas find parece tomar a barra invertida como uma fuga novamente, por isso não muda o significado.)
Então, por mais confuso que seja, isso também funciona:
$ set -x
$ find -name "*\$var*"
+ find -name '*\fgh*'
./asdfghjkl
Você pode tentar executar todos os outros com set -x habilitado para ver quais argumentos find realmente obtém.
Como de costume, coloque o nome da variável entre chaves {} , se for seguido por letras, dígitos ou sublinhados, por exemplo "*${prefix}somename*" .