Quando si inserisce un'unità USB, questa viene automaticamente montata. Puoi vedere il nome del dispositivo usando il comando mount:
$ mount
/dev/disk2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk7s1 on /Volumes/USB-NAME (msdos, local, nodev, nosuid, noowners)
Facendo il presupposto di semplificazione che hai una sola unità USB montata alla volta ed è sempre formattata con Windows, puoi quindi rinominare l'unità in questo modo:
$ diskutil rename $(mount | sed -n '/Volumes.*msdos/{ s/ .*//;p;}') NEW-NAME
Volume on disk7s1 renamed to NEW-NAME
ora quando guardi l'output del mount, il nome è cambiato:
$ mount | grep '/Volumes.*msdos'
/dev/disk7s1 on /Volumes/NEW-NAME (msdos, local, nodev, nosuid, noowners)
Potrebbe essere necessario regolare i parametri di ricerca in base a diversi presupposti, ma questa è l'idea generale.