Você pode usar a função de 2 argumentos - várias vezes :
$ cat scriptname
#!/bin/bash
echo $1 $2 $3 $4 | awk '
function min(a, b) {
return a < b ? a: b
}
{
print min(min(min($1,$2),$3),$4)
}'
depois, por exemplo
$ ./scriptname 3 1.2 -0.4 77
-0.4
Se você precisar escrevê-lo como uma função de 4 argumentos, sugiro algo como
function min(a, b) {
return a < b ? a : b
}
function min4(a,b,c,d) {
return min(min(min(a,b),c),d)
}
{
print min4($1,$2,$3,$4)
}