お願いします

#!/bin/bash
while read line
do
echo $line
done < $1

というスクリプトを、functionでくくるためには、

#!/bin/bash
hoge=$1
function func () {
while read line
do
echo $line
done < $hoge
}
func

と書かないといけないようなのですが、
これはどういう事なのでしょうか?
単にfunctionでくくっただけなので、同じ動きをしてくれても
よさそうなのですが。

よろしくお願いいたします。