I'd personally prefer the in-shell solution, as long as the number list isn't huge.
The if statement could be shortened to a single line though, and it should ideally be using an
arithmetic expression test instead.
If you loop through the array index numbers you can get the position as well as the value.
Code:
biggest=${list[0]} position=0
for i in "${!list[@]}"; do
(( ${list[i]} > biggest )) && biggest=${list[i]} position=$i
done
echo "Largest value is $biggest (Array entry no: $position)"
Finally, it might be a good idea to include a test for non-integer input first.