I want all the people who link to my software should also release their code under GPL. But what if someone forked it and attempted to relicense it under the MIT, BSD, Apache, or LGPL licenses? Can I ensure this can't happen?
If your rights to a piece of software derive solely from the GPL -- and this is the usual case for most people who are redistributing GPL software -- then you cannot legally relicense under MIT, BSD, Apache or LGPL, because the GPL does not allow that.
Special cases are possible, of course. If you own the copyright on a piece of software and have not somehow limited your rights to it, then you could simultaneously offer it to some people under the GPL and others under, say, the MIT license -- or more likely, under a commercial license.