I tried this:
$ exec 3> example
$ lsof example
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
zsh 10711 lane 3w REG 253,0 0 9231034 example
It will show text file busy if I do this:
$ ./example
zsh: text file busy: ./example
But if I execute it using sh, it will be OK(no error):
$ sh example
$
What is the difference between ./example and sh example?