Well, I was hoping for you to be using the tmsh.
Not sure why you need sudo, but let me start with your main problem.
I just tested a few more versions, 12.1.1 has sudo.
In 11.3.0 there is no sudo command, neither 10.2.4.
Stanislas in his post said there is no sudo in 11.5.4.
I can guess it was added somewhere in 11.6.X or v12.
What version are you testing the sudo command?
In your post you only mention 12.1.1.
Second question is why you need sudo?
[test@LABBIGIP2:ModuleNotLicensed:Active:Disconnected] ~ switchboot -l | head -n3
Current boot image:
HD1.5 - title BIG-IP 11.3.0 Build 2806.0
[test@LABBIGIP2:ModuleNotLicensed:Active:Disconnected] ~ cat /etc/passwd | egrep "^root|test"
root:x:0:0:root:/root:/bin/bash
test:x:0:500:test:/home/test:/bin/bash
[test@LABBIGIP2:ModuleNotLicensed:Active:Disconnected] ~
As you can see from the output above, a user (test in this example) with advanced shell has the same ID as root.
So, basically has the same access as root.
Unless you want the script to run with another user that is root, sudo is not necessary.