diff --git a/client/tarantool/tc.c b/client/tarantool/tc.c
index 7e6799ab95002040e4cb5941714d28e1a8e6e7b9..95400ba9ba42cd1bffcbfeee5a63809892ee23a7 100644
--- a/client/tarantool/tc.c
+++ b/client/tarantool/tc.c
@@ -140,12 +140,12 @@ static void tc_validate(void)
 		tc.opt.raw = 1;
 }
 
-int main(int argc, char *argv[])
+int main(int argc, char *argv[], char *envp[])
 {
 	tc_init();
 
 	int rc = 0;
-	enum tc_opt_mode mode = tc_opt_init(&tc.opt, argc, argv);
+	enum tc_opt_mode mode = tc_opt_init(&tc.opt, argc, argv, envp);
 	tc_validate();
 	switch (mode) {
 	case TC_OPT_USAGE:
diff --git a/client/tarantool/tc_opt.c b/client/tarantool/tc_opt.c
index 800e440b3d408541d0f3a42a807b0431a8666eee..ba5c39498b2efbe397f7d9e873598da5f6c7916c 100644
--- a/client/tarantool/tc_opt.c
+++ b/client/tarantool/tc_opt.c
@@ -93,7 +93,7 @@ void tc_opt_version(void)
 	exit(0);
 }
 
-enum tc_opt_mode tc_opt_init(struct tc_opt *opt, int argc, char **argv)
+enum tc_opt_mode tc_opt_init(struct tc_opt *opt, int argc, char **argv, char **envp)
 {
 	/* usage */
 	void *tc_options = gopt_sort(&argc, (const char**)argv, tc_options_def);
@@ -197,6 +197,7 @@ enum tc_opt_mode tc_opt_init(struct tc_opt *opt, int argc, char **argv)
 		opt->mode = TC_OPT_INTERACTIVE;
 	}
 	opt->pager = NULL;
+	opt->envp  = envp;
 done:
 	gopt_free(tc_options);
 	return opt->mode;
diff --git a/client/tarantool/tc_opt.h b/client/tarantool/tc_opt.h
index ba6b329c50ce69f65aafb7c0c2dc257fa078c51f..3b091e49dd4ff87627d9c98da66384382326b59a 100644
--- a/client/tarantool/tc_opt.h
+++ b/client/tarantool/tc_opt.h
@@ -63,6 +63,7 @@ struct tc_opt {
 	const char *file;
 	char **cmdv;
 	int cmdc;
+	char **envp;
 	const char *delim;
 	size_t delim_len;
 	const char *pager;
@@ -72,6 +73,6 @@ void tc_opt_usage(void);
 void tc_opt_version(void);
 
 enum tc_opt_mode
-tc_opt_init(struct tc_opt *opt, int argc, char **argv);
+tc_opt_init(struct tc_opt *opt, int argc, char **argv, char **envp);
 
 #endif /* TC_OPT_H_INCLUDED */
diff --git a/client/tarantool/tc_pager.c b/client/tarantool/tc_pager.c
index 4f3c38bd084650ff6f6bd83049eed3bd1ab5347a..846cd93fee704f2f8f7170fe707939864a7ee18e 100644
--- a/client/tarantool/tc_pager.c
+++ b/client/tarantool/tc_pager.c
@@ -20,11 +20,8 @@ void tc_pager_start() {
 		tc.pager_fd = fileno(stdout);
 		return;
 	}
-	char cmd[] = {"/bin/bash"};
-	char args[] = {"-c"};
 	int pipefd[2];
-	const char *const argv[] = {cmd, args, tc.opt.pager, NULL};
-
+	const char *const argv[] = {"/bin/bash", "-c", tc.opt.pager, NULL};
 
 	if (pipe(pipefd) < 0)
 		tc_error("Failed to open pipe. Errno: %d", errno);
@@ -34,7 +31,7 @@ void tc_pager_start() {
 	if (pid == 0) {
 		close(pipefd[1]);
 		dup2(pipefd[0], STDIN_FILENO);
-		execve(argv[0], (char * const*)argv, NULL);
+		execve(argv[0], (char * const*)argv, (char * const*)tc.opt.envp);
 		tc_error("Can't start pager! Errno: %d", errno);
 	}
 	close(pipefd[0]);