Если я правильно понимаю, это должно работать:
my_func () { ssh user@ip echo '$VARIABLE' }
или если у вас есть больше команд, вы можете сделать:
my_func () { ssh user@ip <<'EOF' echo $VARIABLE command2 command3 EOF }
Вы также можете (мой любимый инструмент для выполнения большого количества команд) поместить ваши команды в другой файл и сделать это:
my_func () { SOURCE_FILE='/path/to/file' cat "$SOURCE_FILE" | ssh user@ip }