Which linux system call is used by ls command in linux to display the folder/file name?

Most of the system calls there are noise from loading shared libraries at startup. The interesting things happen here:

openat(AT_FDCWD, ".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 2 entries */, 32768)     = 48
getdents(3, /* 0 entries */, 32768)     = 0
close(3)  

The openat(2) system call is used to open the current directory (".") relative to the current working directory (the AT_FDCWD flag). The O_DIRECTORY flag indicates that it wants to open the directory and read the directory's contents.

The actual directory data is read using the getdents(2) system call. In this case, it called it twice, since until it returns 0, it's not sure if there's more data or not. Finally, the file descriptor is closed after it's done.

If you were to write your own program, however, you wouldn't call these directly -- instead you'd use opendir(3), readdir(3), and closedir(3) to read a directory. They're portable (POSIX-compliant), and they insulate you from the details of the underlying system calls. They're also easier to use, IMO.