Fdisk est dans le répertoire /sbin qui n'est pas dans les chemins déclarés pour les utilisateurs (echo $PATH renvoie le détail de ces chemins, que le bash parcourt pour chercher les commandes invoquées).
/sbin est dans le PATH de root.
Toutefois, si tu te connectes par su en root sans les variables d'environnement dont le PATH (le tiret a le sens: activer les variables d'environnement de l'utilisateur avec les droits duquel on veut se connecter), tu devras saisir /sbin/fdisk, la saisie de fdisk n'aboutissant pas puisque le PATH actif étant celui d'un utilisateur 'ordinaire', il ne comprend pas /sbin.
Voilà, l'explication est un peu dense et ramassée mais tu devrais comprendre ...
@eddy33: le passage du man concernant le tiret est peu lumineux:
-, -l, --login
make the shell a login shell
Il faut traduire: lecture des variables du compte invoqué ... (dont on hérite de l'ID et des groupes d'appartenance)