Ulrich,
Your list of integers has Head of List, not Head of Integer so your function does not match a list of integers. Your definition should look like this:
f[{x__Integer}] := {x}[[2]]
or (a bit more cryptically:
f[{x__Integer}] := ##2 &[x]
The reason is that you have a list of integers which you can match with
{x__Integer}
x will take on the value of a Sequence of Integers (not a list). Since it is a sequence and not a list you can either make it a list by doing {x} and then process it. or you can treat it as a sequence (second example).
Regards,
Neil