Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170517070115.GL6320@example.net>
Date: Wed, 17 May 2017 11:01:03 +0200
From: u-uy74@...ey.se
To: musl@...ts.openwall.com
Subject: Re: Question about setting argv[0] when manually using
 dynamic linker

On Tue, May 16, 2017 at 08:38:56PM -0400, John Regan wrote:
> Hi there - I was wondering if it's possible to somehow set argv[0] when
> calling the dynamic linker to load a program.
 ...
> I'd like to retain whatever was actually typed on the command line (in this
> case, set argv[0] to "app"), since many apps look at argv[0] to change
> behavior, ie - gzip vs gunzip.
> 
> I tried seeing if there was some switch I could pass to the linker, etc -
> as far as I can tell, there's no easy way to do this.

Set argv[0] to whatever you need when you exec*() the dynamic loader,
which is straightforward with a binary wrapper (not with a shell).

A binary wrapper also adds less overhead then going through a shell.

There is imho hardly any incentive to put such functionalty into the
loader. I say this even though we are dependent here on such tricks,
to work around programs which insist on guessing things when not asked to.

Regards,
Rune

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.