Não é assim que os redirecionamentos funcionam. < redireciona a entrada de um arquivo ; se você especificar uma variável, seu conteúdo será considerado o nome do arquivo . Você estaria procurando por <<< . E não se esqueça de colocar aspas em torno do "$variable" , caso contrário, o bash dividirá seu valor por espaços.
(Exceto em seu script de exemplo, a variável é inútil. Basta usar patch -b <<EOF diretamente).