#!/bin/bash fn=$1 if [[ "$fn" = *\$1* ]] then f(){ eval "$fn";} else f(){ eval "$fn" "$1";} fi shift for x in "$@" do f "$x" done