Você poderia, mas provavelmente não deveria. Crie uma biblioteca contendo funções e forneça-a. Este é um requisito muito incomum. Bash tem meios reais de controle de fluxo - não há necessidade de pegar seqüências de código dos arquivos para executar. Isso pode ser perigoso.
Aqui está um exemplo de "brinquedo", não para uso em produção ...
#!/usr/bin/env bash
shopt -s extglob
# evalLine filepath line-number
evalLine() {
[[ -f $1 && $2 == +([[:digit:]]) ]] || return 1
local x
# This subtraction compensates for a bug that's since been fixed in 4.2.35
mapfile -ts $(($2 - 1)) -n 1 x &&
${x:+eval "$x"}
} <"$1"
evalLine /dev/stdin "$1" <<"EOF"
echo "line 1"
f() { echo "$1"; }; f "line 2"
var3='line 3' eval 'echo "$var3"'
EOF
Edição tardia : observe o comentário sobre um bug em mapfile
.