Обе операции создают пустой файл и возвращают имя файла, но mkstemp оставляет файл открытым в монопольном режиме и дает вам дескриптор. Есть ли преимущество для безопасности у C-функции? Означает ли это, что в версии для командной строки есть брешь в безопасности?
В стороне, интересно, что в C api Linux есть несколько связанных функций, и большинство из них говорят «Не используйте эту функцию» (или аналогичные) на своей странице руководства.