Agregar caracteres de nueva línea a printf () cambia el comportamiento del código

Por alguna razón, agregando\n aprintf() cambia el comportamiento del siguiente código. El código sin\n huellas dactilares(null) mientras que el código con\n lleva aSegmentation fault.

Printf.c

#include <stdio.h>

int main(int argc, char* argv[]){
    printf("%s", argv[1]);
} 

Printf.c - Salida

$ gcc -o Printf Printf.c
$ ./Printf
(null)

Printf_Newline.c

#include <stdio.h>

int main(int argc, char* argv[]){
    printf("%s\n", argv[1]);
}

Printf_Newline.c - Salida

$ gcc -o Printf_Newline Printf_Newline.c
$ ./Printf_Newline
Segmentation fault (core dumped)

Tengo curiosidad por entender la razón detrás de esto.

Respuestas a la pregunta(3)

Su respuesta a la pregunta