Cuando inserta una unidad USB, se monta automáticamente. Puede ver el nombre del dispositivo usando el comando de montaje:
$ 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)
Suponiendo que solo tiene una unidad USB montada a la vez y que siempre está formateada con Windows, puede cambiar el nombre de la unidad de esta manera:
$ diskutil rename $(mount | sed -n '/Volumes.*msdos/{ s/ .*//;p;}') NEW-NAME
Volume on disk7s1 renamed to NEW-NAME
ahora, cuando observa la salida del montaje, se cambia el nombre:
$ mount | grep '/Volumes.*msdos'
/dev/disk7s1 on /Volumes/NEW-NAME (msdos, local, nodev, nosuid, noowners)
Es posible que deba ajustar los parámetros de búsqueda según diferentes supuestos, pero esta es la idea general.